<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SdFat: ExFatFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SdFat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="class_ex_fat_file-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ExFatFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Basic file class.  
 <a href="class_ex_fat_file.html#details">More...</a></p>

<p><code>#include &lt;ExFatFile.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ExFatFile:</div>
<div class="dyncontent">
<div class="center"><img src="class_ex_fat_file__inherit__graph.png" border="0" usemap="#_ex_fat_file_inherit__map" alt="Inheritance graph"/></div>
<map name="_ex_fat_file_inherit__map" id="_ex_fat_file_inherit__map">
<area shape="rect" title="Basic file class." alt="" coords="45,5,123,32"/>
<area shape="rect" href="class_stream_file.html" title=" " alt="" coords="5,80,163,121"/>
<area shape="rect" href="class_ex_file.html" title="exFAT file with Arduino Stream." alt="" coords="55,169,113,196"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1eae02704b69e903ea174c5d0744debb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a1eae02704b69e903ea174c5d0744debb">available</a> ()</td></tr>
<tr class="separator:a1eae02704b69e903ea174c5d0744debb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcf47e15b819fe2d6faac2a027ab30f5"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#adcf47e15b819fe2d6faac2a027ab30f5">available64</a> ()</td></tr>
<tr class="separator:adcf47e15b819fe2d6faac2a027ab30f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2004e7bf328b3edda7d4c3acba2726f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ac2004e7bf328b3edda7d4c3acba2726f">clearError</a> ()</td></tr>
<tr class="separator:ac2004e7bf328b3edda7d4c3acba2726f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc0d3863895c17df53930bdfa84cb06f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#abc0d3863895c17df53930bdfa84cb06f">clearWriteError</a> ()</td></tr>
<tr class="separator:abc0d3863895c17df53930bdfa84cb06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ba9e04099bdf8fd34220ebfdde72867"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a7ba9e04099bdf8fd34220ebfdde72867">close</a> ()</td></tr>
<tr class="separator:a7ba9e04099bdf8fd34220ebfdde72867"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab49396aad3f6500aa19f75490dc26719"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ab49396aad3f6500aa19f75490dc26719">curPosition</a> () const</td></tr>
<tr class="separator:ab49396aad3f6500aa19f75490dc26719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada4dde9f2eed36bf556fcf1bd3d28ccf"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ada4dde9f2eed36bf556fcf1bd3d28ccf">dataLength</a> ()</td></tr>
<tr class="separator:ada4dde9f2eed36bf556fcf1bd3d28ccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3baa5d5269c2948cfaf604c42f6a16"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a5e3baa5d5269c2948cfaf604c42f6a16">dirIndex</a> ()</td></tr>
<tr class="separator:a5e3baa5d5269c2948cfaf604c42f6a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c1303c37cad370b33f0279524c93720"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a3c1303c37cad370b33f0279524c93720">ExFatFile</a> ()</td></tr>
<tr class="separator:a3c1303c37cad370b33f0279524c93720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22a717ddc6d2004c540c67a14264d9dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a22a717ddc6d2004c540c67a14264d9dd">exists</a> (const ExChar_t *path)</td></tr>
<tr class="separator:a22a717ddc6d2004c540c67a14264d9dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8614bcbf04b7bbfc70fe36d2fa7f70c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a8614bcbf04b7bbfc70fe36d2fa7f70c1">fgetpos</a> (fspos_t *pos)</td></tr>
<tr class="separator:a8614bcbf04b7bbfc70fe36d2fa7f70c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc69c9dfc8fdb4ebf9db3bc37c879dc6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#abc69c9dfc8fdb4ebf9db3bc37c879dc6">fgets</a> (char *str, int num, char *delim=<a class="el" href="_stdio_stream_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)</td></tr>
<tr class="separator:abc69c9dfc8fdb4ebf9db3bc37c879dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c08909b62b01f3edc4ee0c51ea7435"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#af2c08909b62b01f3edc4ee0c51ea7435">fileSize</a> ()</td></tr>
<tr class="separator:af2c08909b62b01f3edc4ee0c51ea7435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab16f38103a13394bffd8aa5be830c4fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ab16f38103a13394bffd8aa5be830c4fe">flush</a> ()</td></tr>
<tr class="separator:ab16f38103a13394bffd8aa5be830c4fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea1e4d0c0981081774dc3c7cd3c55264"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aea1e4d0c0981081774dc3c7cd3c55264">fsetpos</a> (const fspos_t *pos)</td></tr>
<tr class="separator:aea1e4d0c0981081774dc3c7cd3c55264"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac697224450ca216c60585d25f5f6e310"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ac697224450ca216c60585d25f5f6e310">getError</a> ()</td></tr>
<tr class="separator:ac697224450ca216c60585d25f5f6e310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba93e2c18be9fa4df7e067b7d6ac5906"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aba93e2c18be9fa4df7e067b7d6ac5906">getName</a> (ExChar_t *name, size_t size)</td></tr>
<tr class="separator:aba93e2c18be9fa4df7e067b7d6ac5906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01da9896a59671a61f90dd20c3ac5d07"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a01da9896a59671a61f90dd20c3ac5d07">getWriteError</a> ()</td></tr>
<tr class="separator:a01da9896a59671a61f90dd20c3ac5d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a167102bd47b7cf91167b69f8cc57d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a7a167102bd47b7cf91167b69f8cc57d1">isContiguous</a> () const</td></tr>
<tr class="separator:a7a167102bd47b7cf91167b69f8cc57d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a3687bd95bed5b216651335e66b500"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad0a3687bd95bed5b216651335e66b500">isDir</a> () const</td></tr>
<tr class="separator:ad0a3687bd95bed5b216651335e66b500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af601285f95db8398c140b3927cf9111c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#af601285f95db8398c140b3927cf9111c">isFile</a> () const</td></tr>
<tr class="separator:af601285f95db8398c140b3927cf9111c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac926285fa4321ebee28fa91beb511eae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ac926285fa4321ebee28fa91beb511eae">isHidden</a> () const</td></tr>
<tr class="separator:ac926285fa4321ebee28fa91beb511eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a804c34bbe3ebefe2b6c1d77ff8d49a35"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a804c34bbe3ebefe2b6c1d77ff8d49a35">isOpen</a> () const</td></tr>
<tr class="separator:a804c34bbe3ebefe2b6c1d77ff8d49a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca137dfba2c7772910f4d2b3fdd9411"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a9ca137dfba2c7772910f4d2b3fdd9411">isReadable</a> () const</td></tr>
<tr class="separator:a9ca137dfba2c7772910f4d2b3fdd9411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d160bfbfb39717746b93fa2eda5739"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a14d160bfbfb39717746b93fa2eda5739">isReadOnly</a> () const</td></tr>
<tr class="separator:a14d160bfbfb39717746b93fa2eda5739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f8e7afcf749ebcaaf055bd569dc7da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad9f8e7afcf749ebcaaf055bd569dc7da">isRoot</a> () const</td></tr>
<tr class="separator:ad9f8e7afcf749ebcaaf055bd569dc7da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7e02a1db8fb5a90288bb4679e9ddcb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad7e02a1db8fb5a90288bb4679e9ddcb9">isSubDir</a> () const</td></tr>
<tr class="separator:ad7e02a1db8fb5a90288bb4679e9ddcb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d1c43e80743f8c1a51b64062ce16dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a04d1c43e80743f8c1a51b64062ce16dd">isWritable</a> () const</td></tr>
<tr class="separator:a04d1c43e80743f8c1a51b64062ce16dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e074c891f3db5ea2ebd491667b03a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aa0e074c891f3db5ea2ebd491667b03a6">ls</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:aa0e074c891f3db5ea2ebd491667b03a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09f8beb55f939874e93c1df6c8a046d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a09f8beb55f939874e93c1df6c8a046d4">ls</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr, uint8_t flags, uint8_t indent=0)</td></tr>
<tr class="separator:a09f8beb55f939874e93c1df6c8a046d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a393624d52854e74bf385c9e513a86d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a3a393624d52854e74bf385c9e513a86d">mkdir</a> (<a class="el" href="class_ex_fat_file.html">ExFatFile</a> *parent, const ExChar_t *path, bool pFlag=true)</td></tr>
<tr class="separator:a3a393624d52854e74bf385c9e513a86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1e224aba9eb796c7ad48062cc1434c2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ab1e224aba9eb796c7ad48062cc1434c2">open</a> (const ExChar_t *path, int oflag=0X00)</td></tr>
<tr class="separator:ab1e224aba9eb796c7ad48062cc1434c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0be05c5c7092317089872778052cbd7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">open</a> (<a class="el" href="class_ex_fat_file.html">ExFatFile</a> *dirFile, const ExChar_t *path, oflag_t oflag)</td></tr>
<tr class="separator:ad0be05c5c7092317089872778052cbd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a414b64dc30551e05dcc46f04e0f6413a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a414b64dc30551e05dcc46f04e0f6413a">open</a> (<a class="el" href="class_ex_fat_file.html">ExFatFile</a> *dirFile, uint32_t index, oflag_t oflag)</td></tr>
<tr class="separator:a414b64dc30551e05dcc46f04e0f6413a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a825447643e6c9e8284a3ed78e3363788"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a825447643e6c9e8284a3ed78e3363788">open</a> (<a class="el" href="class_ex_fat_volume.html">ExFatVolume</a> *vol, const ExChar_t *path, int oflag)</td></tr>
<tr class="separator:a825447643e6c9e8284a3ed78e3363788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b6021cf70b7adb9feb162260d5a101"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a89b6021cf70b7adb9feb162260d5a101">openNext</a> (<a class="el" href="class_ex_fat_file.html">ExFatFile</a> *dirFile, oflag_t oflag=0X00)</td></tr>
<tr class="separator:a89b6021cf70b7adb9feb162260d5a101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af664c1da1bfa0bb5f6eb933bc25f757e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#af664c1da1bfa0bb5f6eb933bc25f757e">openRoot</a> (<a class="el" href="class_ex_fat_volume.html">ExFatVolume</a> *vol)</td></tr>
<tr class="separator:af664c1da1bfa0bb5f6eb933bc25f757e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1abbd813f27d488f0ff439ccbc9ca98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aa1abbd813f27d488f0ff439ccbc9ca98">operator bool</a> ()</td></tr>
<tr class="separator:aa1abbd813f27d488f0ff439ccbc9ca98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2e375faa696545f7ebbf583faae72a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#afc2e375faa696545f7ebbf583faae72a">peek</a> ()</td></tr>
<tr class="separator:afc2e375faa696545f7ebbf583faae72a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a5093014e80965e49c84b61780556f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a35a5093014e80965e49c84b61780556f">preAllocate</a> (uint64_t length)</td></tr>
<tr class="separator:a35a5093014e80965e49c84b61780556f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ba8aa00b9db683d40fc2989dbe1922"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad9ba8aa00b9db683d40fc2989dbe1922">printAccessDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:ad9ba8aa00b9db683d40fc2989dbe1922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7318b2d7594d6ba52421c413f5fc35cd"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a7318b2d7594d6ba52421c413f5fc35cd">printCreateDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:a7318b2d7594d6ba52421c413f5fc35cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a496ac61e367a24665425d54956a46346"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a496ac61e367a24665425d54956a46346">printField</a> (double value, char term, uint8_t prec=2)</td></tr>
<tr class="separator:a496ac61e367a24665425d54956a46346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70eda4191df90f608694c1faede7fb33"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a70eda4191df90f608694c1faede7fb33">printField</a> (float value, char term, uint8_t prec=2)</td></tr>
<tr class="separator:a70eda4191df90f608694c1faede7fb33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9759c13e804c01ff9e7e2ac8fbabc5b8"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
<tr class="memitem:a9759c13e804c01ff9e7e2ac8fbabc5b8"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a9759c13e804c01ff9e7e2ac8fbabc5b8">printField</a> (Type value, char term)</td></tr>
<tr class="separator:a9759c13e804c01ff9e7e2ac8fbabc5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d527f98cff3ffd3ba8bc594a22d186"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a16d527f98cff3ffd3ba8bc594a22d186">printFileSize</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:a16d527f98cff3ffd3ba8bc594a22d186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16488d3e0d946f108240b7d6c536c6f4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a16488d3e0d946f108240b7d6c536c6f4">printModifyDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:a16488d3e0d946f108240b7d6c536c6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a095c0a865e5e5b6463c3dc0c90680635"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a095c0a865e5e5b6463c3dc0c90680635">printName</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
<tr class="separator:a095c0a865e5e5b6463c3dc0c90680635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77f4fea0aae0c8bae926fdfbba260a55"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a77f4fea0aae0c8bae926fdfbba260a55">read</a> ()</td></tr>
<tr class="separator:a77f4fea0aae0c8bae926fdfbba260a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae5477efe55179cf07e173c62654313"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a5ae5477efe55179cf07e173c62654313">read</a> (void *buf, size_t count)</td></tr>
<tr class="separator:a5ae5477efe55179cf07e173c62654313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e88c8e79551a72cc98310038514c47a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a8e88c8e79551a72cc98310038514c47a">remove</a> ()</td></tr>
<tr class="separator:a8e88c8e79551a72cc98310038514c47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad10417a851dba3d40a78eb2c0eb11fff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ad10417a851dba3d40a78eb2c0eb11fff">remove</a> (const ExChar_t *path)</td></tr>
<tr class="separator:ad10417a851dba3d40a78eb2c0eb11fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab50b2646035f76834c75230d2b55c64"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aab50b2646035f76834c75230d2b55c64">rename</a> (const ExChar_t *newPath)</td></tr>
<tr class="separator:aab50b2646035f76834c75230d2b55c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea570a3b6afbe633d874803b137a46b8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aea570a3b6afbe633d874803b137a46b8">rename</a> (<a class="el" href="class_ex_fat_file.html">ExFatFile</a> *dirFile, const ExChar_t *newPath)</td></tr>
<tr class="separator:aea570a3b6afbe633d874803b137a46b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c1d3ef65284ffb13ed3ceee472adf9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a3c1d3ef65284ffb13ed3ceee472adf9a">rewind</a> ()</td></tr>
<tr class="separator:a3c1d3ef65284ffb13ed3ceee472adf9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0165e0fde12a53e419bd92cd37f9cfed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a0165e0fde12a53e419bd92cd37f9cfed">rmdir</a> ()</td></tr>
<tr class="separator:a0165e0fde12a53e419bd92cd37f9cfed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab42494880cf229adfb0fc8edb0647686"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#ab42494880cf229adfb0fc8edb0647686">seekCur</a> (int64_t offset)</td></tr>
<tr class="separator:ab42494880cf229adfb0fc8edb0647686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2994a71751ed4f137f48b2e9a7d94091"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a2994a71751ed4f137f48b2e9a7d94091">seekEnd</a> (int64_t offset=0)</td></tr>
<tr class="separator:a2994a71751ed4f137f48b2e9a7d94091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9834c4da2f14c66f4bda26938ebb36f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a9834c4da2f14c66f4bda26938ebb36f6">seekSet</a> (uint64_t pos)</td></tr>
<tr class="separator:a9834c4da2f14c66f4bda26938ebb36f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb3638069afd2d01b79e5dff1a66f55"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a2cb3638069afd2d01b79e5dff1a66f55">sync</a> ()</td></tr>
<tr class="separator:a2cb3638069afd2d01b79e5dff1a66f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3ab10983e206401ebd5c24a1c46174"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a6d3ab10983e206401ebd5c24a1c46174">timestamp</a> (uint8_t flags, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)</td></tr>
<tr class="separator:a6d3ab10983e206401ebd5c24a1c46174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca37955d3c7cce40f7f9e1ea078e5636"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#aca37955d3c7cce40f7f9e1ea078e5636">truncate</a> ()</td></tr>
<tr class="separator:aca37955d3c7cce40f7f9e1ea078e5636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6262b0d6d43d2a426953a0a7d90f624f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a6262b0d6d43d2a426953a0a7d90f624f">truncate</a> (uint64_t length)</td></tr>
<tr class="separator:a6262b0d6d43d2a426953a0a7d90f624f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8af11ba8e3a830dff1dd5e59446243"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#afc8af11ba8e3a830dff1dd5e59446243">validLength</a> ()</td></tr>
<tr class="separator:afc8af11ba8e3a830dff1dd5e59446243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb2905a5e363554a5118b5d1322cd87"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a6fb2905a5e363554a5118b5d1322cd87">write</a> (const char *str)</td></tr>
<tr class="separator:a6fb2905a5e363554a5118b5d1322cd87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc1423c7b550614d1067e7173f8b46a8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#abc1423c7b550614d1067e7173f8b46a8">write</a> (const void *buf, size_t count)</td></tr>
<tr class="separator:abc1423c7b550614d1067e7173f8b46a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd011d17d66707623c28927a63f81015"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#afd011d17d66707623c28927a63f81015">write</a> (uint8_t b)</td></tr>
<tr class="separator:afd011d17d66707623c28927a63f81015"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a064869383f7639b113eb0aaf0b84335c"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ex_fat_file.html#a064869383f7639b113eb0aaf0b84335c">ExFatVolume</a></td></tr>
<tr class="separator:a064869383f7639b113eb0aaf0b84335c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Basic file class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3c1303c37cad370b33f0279524c93720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c1303c37cad370b33f0279524c93720">&#9670;&nbsp;</a></span>ExFatFile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ExFatFile::ExFatFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Create an instance. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a1eae02704b69e903ea174c5d0744debb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1eae02704b69e903ea174c5d0744debb">&#9670;&nbsp;</a></span>available()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ExFatFile::available </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of bytes available from the current position to EOF for normal files. INT_MAX is returned for very large files.</dd></dl>
<p><a class="el" href="class_ex_fat_file.html#adcf47e15b819fe2d6faac2a027ab30f5">available64()</a> is recomended for very large files.</p>
<p>Zero is returned for directory files. </p>

</div>
</div>
<a id="adcf47e15b819fe2d6faac2a027ab30f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcf47e15b819fe2d6faac2a027ab30f5">&#9670;&nbsp;</a></span>available64()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ExFatFile::available64 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of bytes available from the current position to EOF for normal files. Zero is returned for directory files. </dd></dl>

</div>
</div>
<a id="ac2004e7bf328b3edda7d4c3acba2726f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2004e7bf328b3edda7d4c3acba2726f">&#9670;&nbsp;</a></span>clearError()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::clearError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Clear all error bits. </p>

</div>
</div>
<a id="abc0d3863895c17df53930bdfa84cb06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc0d3863895c17df53930bdfa84cb06f">&#9670;&nbsp;</a></span>clearWriteError()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::clearWriteError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set writeError to zero </p>

</div>
</div>
<a id="a7ba9e04099bdf8fd34220ebfdde72867"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ba9e04099bdf8fd34220ebfdde72867">&#9670;&nbsp;</a></span>close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Close a file and force cached data and directory information to be written to the storage device.</p>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ab49396aad3f6500aa19f75490dc26719"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab49396aad3f6500aa19f75490dc26719">&#9670;&nbsp;</a></span>curPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ExFatFile::curPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The current position for a file or directory. </dd></dl>

</div>
</div>
<a id="ada4dde9f2eed36bf556fcf1bd3d28ccf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada4dde9f2eed36bf556fcf1bd3d28ccf">&#9670;&nbsp;</a></span>dataLength()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ExFatFile::dataLength </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Total data length for file. </dd></dl>

</div>
</div>
<a id="a5e3baa5d5269c2948cfaf604c42f6a16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e3baa5d5269c2948cfaf604c42f6a16">&#9670;&nbsp;</a></span>dirIndex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ExFatFile::dirIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Directory entry index. </dd></dl>

</div>
</div>
<a id="a22a717ddc6d2004c540c67a14264d9dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22a717ddc6d2004c540c67a14264d9dd">&#9670;&nbsp;</a></span>exists()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::exists </td>
          <td>(</td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Test for the existence of a file in a directory</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path of the file to be tested for.</td></tr>
  </table>
  </dd>
</dl>
<p>The calling instance must be an open directory file.</p>
<p>dirFile.exists("TOFIND.TXT") searches for "TOFIND.TXT" in the directory dirFile.</p>
<dl class="section return"><dt>Returns</dt><dd>true if the file exists else false. </dd></dl>

</div>
</div>
<a id="a8614bcbf04b7bbfc70fe36d2fa7f70c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8614bcbf04b7bbfc70fe36d2fa7f70c1">&#9670;&nbsp;</a></span>fgetpos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::fgetpos </td>
          <td>(</td>
          <td class="paramtype">fspos_t *&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>get position for streams </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">pos</td><td>struct to receive position </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abc69c9dfc8fdb4ebf9db3bc37c879dc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc69c9dfc8fdb4ebf9db3bc37c879dc6">&#9670;&nbsp;</a></span>fgets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ExFatFile::fgets </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>delim</em> = <code><a class="el" href="_stdio_stream_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get a string from a file.</p>
<p><a class="el" href="class_ex_fat_file.html#abc69c9dfc8fdb4ebf9db3bc37c879dc6">fgets()</a> reads bytes from a file into the array pointed to by <em>str</em>, until <em>num</em> - 1 bytes are read, or a delimiter is read and transferred to <em>str</em>, or end-of-file is encountered. The string is then terminated with a null byte.</p>
<p><a class="el" href="class_ex_fat_file.html#abc69c9dfc8fdb4ebf9db3bc37c879dc6">fgets()</a> deletes CR, '\r', from the string. This insures only a '\n' terminates the string for Windows text files which use CRLF for newline.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Pointer to the array where the string is stored. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>Maximum number of characters to be read (including the final null byte). Usually the length of the array <em>str</em> is used. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delim</td><td>Optional set of delimiters. The default is "\n".</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_ex_fat_file.html#abc69c9dfc8fdb4ebf9db3bc37c879dc6">fgets()</a> returns the length of the string in <em>str</em>. If no data is read, <a class="el" href="class_ex_fat_file.html#abc69c9dfc8fdb4ebf9db3bc37c879dc6">fgets()</a> returns zero for EOF or -1 if an error occurred. </dd></dl>

</div>
</div>
<a id="af2c08909b62b01f3edc4ee0c51ea7435"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2c08909b62b01f3edc4ee0c51ea7435">&#9670;&nbsp;</a></span>fileSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ExFatFile::fileSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The total number of bytes in a file. </dd></dl>

</div>
</div>
<a id="ab16f38103a13394bffd8aa5be830c4fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab16f38103a13394bffd8aa5be830c4fe">&#9670;&nbsp;</a></span>flush()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::flush </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Arduino name for <a class="el" href="class_ex_fat_file.html#a2cb3638069afd2d01b79e5dff1a66f55">sync()</a> </p>

</div>
</div>
<a id="aea1e4d0c0981081774dc3c7cd3c55264"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea1e4d0c0981081774dc3c7cd3c55264">&#9670;&nbsp;</a></span>fsetpos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::fsetpos </td>
          <td>(</td>
          <td class="paramtype">const fspos_t *&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>set position for streams </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>struct with value for new position </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac697224450ca216c60585d25f5f6e310"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac697224450ca216c60585d25f5f6e310">&#9670;&nbsp;</a></span>getError()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ExFatFile::getError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>All error bits. </dd></dl>

</div>
</div>
<a id="aba93e2c18be9fa4df7e067b7d6ac5906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba93e2c18be9fa4df7e067b7d6ac5906">&#9670;&nbsp;</a></span>getName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::getName </td>
          <td>(</td>
          <td class="paramtype">ExChar_t *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get a file's name followed by a zero byte.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>An array of characters for the file's name. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of the array in characters. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the name length. </dd></dl>

</div>
</div>
<a id="a01da9896a59671a61f90dd20c3ac5d07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01da9896a59671a61f90dd20c3ac5d07">&#9670;&nbsp;</a></span>getWriteError()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::getWriteError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>value of writeError </dd></dl>

</div>
</div>
<a id="a7a167102bd47b7cf91167b69f8cc57d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a167102bd47b7cf91167b69f8cc57d1">&#9670;&nbsp;</a></span>isContiguous()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isContiguous </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the file is contiguous. </dd></dl>

</div>
</div>
<a id="ad0a3687bd95bed5b216651335e66b500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0a3687bd95bed5b216651335e66b500">&#9670;&nbsp;</a></span>isDir()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isDir </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if this is a directory. </dd></dl>

</div>
</div>
<a id="af601285f95db8398c140b3927cf9111c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af601285f95db8398c140b3927cf9111c">&#9670;&nbsp;</a></span>isFile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if this is a normal file. </dd></dl>

</div>
</div>
<a id="ac926285fa4321ebee28fa91beb511eae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac926285fa4321ebee28fa91beb511eae">&#9670;&nbsp;</a></span>isHidden()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isHidden </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if this is a hidden. </dd></dl>

</div>
</div>
<a id="a804c34bbe3ebefe2b6c1d77ff8d49a35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a804c34bbe3ebefe2b6c1d77ff8d49a35">&#9670;&nbsp;</a></span>isOpen()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isOpen </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the file is open. </dd></dl>

</div>
</div>
<a id="a9ca137dfba2c7772910f4d2b3fdd9411"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ca137dfba2c7772910f4d2b3fdd9411">&#9670;&nbsp;</a></span>isReadable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isReadable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True file is writable. </dd></dl>

</div>
</div>
<a id="a14d160bfbfb39717746b93fa2eda5739"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14d160bfbfb39717746b93fa2eda5739">&#9670;&nbsp;</a></span>isReadOnly()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isReadOnly </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if file is read-only </dd></dl>

</div>
</div>
<a id="ad9f8e7afcf749ebcaaf055bd569dc7da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9f8e7afcf749ebcaaf055bd569dc7da">&#9670;&nbsp;</a></span>isRoot()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isRoot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if this is the root directory. </dd></dl>

</div>
</div>
<a id="ad7e02a1db8fb5a90288bb4679e9ddcb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7e02a1db8fb5a90288bb4679e9ddcb9">&#9670;&nbsp;</a></span>isSubDir()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isSubDir </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if this is a subdirectory. </dd></dl>

</div>
</div>
<a id="a04d1c43e80743f8c1a51b64062ce16dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04d1c43e80743f8c1a51b64062ce16dd">&#9670;&nbsp;</a></span>isWritable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::isWritable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True file is writable. </dd></dl>

</div>
</div>
<a id="aa0e074c891f3db5ea2ebd491667b03a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e074c891f3db5ea2ebd491667b03a6">&#9670;&nbsp;</a></span>ls() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::ls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>List directory contents.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for list. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a09f8beb55f939874e93c1df6c8a046d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09f8beb55f939874e93c1df6c8a046d4">&#9670;&nbsp;</a></span>ls() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::ls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>indent</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>List directory contents.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for list.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>The inclusive OR of</td></tr>
  </table>
  </dd>
</dl>
<p>LS_DATE - Print file modification date</p>
<p>LS_SIZE - Print file size.</p>
<p>LS_R - Recursive list of subdirectories.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">indent</td><td>Amount of space before file name. Used for recursive list to indicate subdirectory level.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a3a393624d52854e74bf385c9e513a86d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a393624d52854e74bf385c9e513a86d">&#9670;&nbsp;</a></span>mkdir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::mkdir </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_file.html">ExFatFile</a> *&#160;</td>
          <td class="paramname"><em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>pFlag</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Make a new directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">parent</td><td>An open directory file that will contain the new directory.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path with a valid name for the new directory.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pFlag</td><td>Create missing parent directories if true.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ab1e224aba9eb796c7ad48062cc1434c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1e224aba9eb796c7ad48062cc1434c2">&#9670;&nbsp;</a></span>open() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::open </td>
          <td>(</td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>oflag</em> = <code>0X00</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a file in the current working directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path with a valid name for a file to be opened.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>bitwise-inclusive OR of open flags. See see <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">ExFatFile::open(ExFatFile*, const char*, uint8_t)</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ad0be05c5c7092317089872778052cbd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0be05c5c7092317089872778052cbd7">&#9670;&nbsp;</a></span>open() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_file.html">ExFatFile</a> *&#160;</td>
          <td class="paramname"><em>dirFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oflag_t&#160;</td>
          <td class="paramname"><em>oflag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a file or directory by name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dirFile</td><td>An open directory containing the file to be opened.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>The path for a file to be opened.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>Values for <em>oflag</em> are constructed by a bitwise-inclusive OR of flags from the following list. Only one of O_RDONLY, O_READ, O_WRONLY, O_WRITE, or O_RDWR is allowed.</td></tr>
  </table>
  </dd>
</dl>
<p>O_RDONLY - Open for reading.</p>
<p>O_READ - Same as O_RDONLY.</p>
<p>O_WRONLY - Open for writing.</p>
<p>O_WRITE - Same as O_WRONLY.</p>
<p>O_RDWR - Open for reading and writing.</p>
<p>O_APPEND - If set, the file offset shall be set to the end of the file prior to each write.</p>
<p>O_AT_END - Set the initial position at the end of the file.</p>
<p>O_CREAT - If the file exists, this flag has no effect except as noted under O_EXCL below. Otherwise, the file shall be created</p>
<p>O_EXCL - If O_CREAT and O_EXCL are set, <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">open()</a> shall fail if the file exists.</p>
<p>O_TRUNC - If the file exists and is a regular file, and the file is successfully opened and is not read only, its length shall be truncated to 0.</p>
<p>WARNING: A given file must not be opened by more than one file object or file corruption may occur.</p>
<dl class="section note"><dt>Note</dt><dd>Directory files must be opened read only. Write and truncation is not allowed for directory files.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a414b64dc30551e05dcc46f04e0f6413a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a414b64dc30551e05dcc46f04e0f6413a">&#9670;&nbsp;</a></span>open() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_file.html">ExFatFile</a> *&#160;</td>
          <td class="paramname"><em>dirFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oflag_t&#160;</td>
          <td class="paramname"><em>oflag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a file by index.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dirFile</td><td>An open <a class="el" href="class_ex_fat_file.html" title="Basic file class.">ExFatFile</a> instance for the directory.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The <em>index</em> of the directory entry for the file to be opened. The value for <em>index</em> is (directory file position)/32.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>bitwise-inclusive OR of open flags. See see <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">ExFatFile::open(ExFatFile*, const ExChar_t*, uint8_t)</a>.</td></tr>
  </table>
  </dd>
</dl>
<p>See <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">open()</a> by path for definition of flags. </p><dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a825447643e6c9e8284a3ed78e3363788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a825447643e6c9e8284a3ed78e3363788">&#9670;&nbsp;</a></span>open() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_volume.html">ExFatVolume</a> *&#160;</td>
          <td class="paramname"><em>vol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>oflag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a file in the volume working directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vol</td><td>Volume where the file is located.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>with a valid name for a file to be opened.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>bitwise-inclusive OR of open flags. See see <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">open(ExFatFile*, const char*, uint8_t)</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a89b6021cf70b7adb9feb162260d5a101"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89b6021cf70b7adb9feb162260d5a101">&#9670;&nbsp;</a></span>openNext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::openNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_file.html">ExFatFile</a> *&#160;</td>
          <td class="paramname"><em>dirFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oflag_t&#160;</td>
          <td class="paramname"><em>oflag</em> = <code>0X00</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open the next file or subdirectory in a directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dirFile</td><td>An open instance for the directory containing the file to be opened.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>bitwise-inclusive OR of open flags. See see <a class="el" href="class_ex_fat_file.html#ad0be05c5c7092317089872778052cbd7">open(ExFatFile*, const char*, uint8_t)</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="af664c1da1bfa0bb5f6eb933bc25f757e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af664c1da1bfa0bb5f6eb933bc25f757e">&#9670;&nbsp;</a></span>openRoot()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::openRoot </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_volume.html">ExFatVolume</a> *&#160;</td>
          <td class="paramname"><em>vol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a volume's root directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vol</td><td>The FAT volume containing the root directory to be opened.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="aa1abbd813f27d488f0ff439ccbc9ca98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1abbd813f27d488f0ff439ccbc9ca98">&#9670;&nbsp;</a></span>operator bool()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ExFatFile::operator bool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The parenthesis operator.</p>
<dl class="section return"><dt>Returns</dt><dd>true if a file is open. </dd></dl>

</div>
</div>
<a id="afc2e375faa696545f7ebbf583faae72a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc2e375faa696545f7ebbf583faae72a">&#9670;&nbsp;</a></span>peek()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ExFatFile::peek </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the next available byte without consuming it.</p>
<dl class="section return"><dt>Returns</dt><dd>The byte if no error and not at eof else -1; </dd></dl>

</div>
</div>
<a id="a35a5093014e80965e49c84b61780556f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35a5093014e80965e49c84b61780556f">&#9670;&nbsp;</a></span>preAllocate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::preAllocate </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Allocate contiguous clusters to an empty file.</p>
<p>The file must be empty with no clusters allocated.</p>
<p>The file will have zero validLength and dataLength will equal the requested length.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>size of allocated space in bytes. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ad9ba8aa00b9db683d40fc2989dbe1922"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ba8aa00b9db683d40fc2989dbe1922">&#9670;&nbsp;</a></span>printAccessDateTime()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printAccessDateTime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a file's access date and time</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a7318b2d7594d6ba52421c413f5fc35cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7318b2d7594d6ba52421c413f5fc35cd">&#9670;&nbsp;</a></span>printCreateDateTime()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printCreateDateTime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a file's creation date and time</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a496ac61e367a24665425d54956a46346"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a496ac61e367a24665425d54956a46346">&#9670;&nbsp;</a></span>printField() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printField </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>term</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>prec</em> = <code>2</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">prec</td><td>Number of digits after decimal point. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>

</div>
</div>
<a id="a70eda4191df90f608694c1faede7fb33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70eda4191df90f608694c1faede7fb33">&#9670;&nbsp;</a></span>printField() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printField </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>term</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>prec</em> = <code>2</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">prec</td><td>Number of digits after decimal point. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>

</div>
</div>
<a id="a9759c13e804c01ff9e7e2ac8fbabc5b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9759c13e804c01ff9e7e2ac8fbabc5b8">&#9670;&nbsp;</a></span>printField() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printField </td>
          <td>(</td>
          <td class="paramtype">Type&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>term</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>

</div>
</div>
<a id="a16d527f98cff3ffd3ba8bc594a22d186"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16d527f98cff3ffd3ba8bc594a22d186">&#9670;&nbsp;</a></span>printFileSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printFileSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a file's size in bytes. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Prtin stream for the output. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes printed. </dd></dl>

</div>
</div>
<a id="a16488d3e0d946f108240b7d6c536c6f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16488d3e0d946f108240b7d6c536c6f4">&#9670;&nbsp;</a></span>printModifyDateTime()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printModifyDateTime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a file's modify date and time</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a095c0a865e5e5b6463c3dc0c90680635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a095c0a865e5e5b6463c3dc0c90680635">&#9670;&nbsp;</a></span>printName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::printName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
          <td class="paramname"><em>pr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a file's name</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a77f4fea0aae0c8bae926fdfbba260a55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77f4fea0aae0c8bae926fdfbba260a55">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ExFatFile::read </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Read the next byte from a file.</p>
<dl class="section return"><dt>Returns</dt><dd>For success read returns the next byte in the file as an int. If an error occurs or end of file is reached -1 is returned. </dd></dl>

</div>
</div>
<a id="a5ae5477efe55179cf07e173c62654313"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ae5477efe55179cf07e173c62654313">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ExFatFile::read </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read data from a file starting at the current position.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Pointer to the location that will receive the data.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Maximum number of bytes to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_ex_fat_file.html#a77f4fea0aae0c8bae926fdfbba260a55">read()</a> returns the number of bytes read. A value less than <em>nbyte</em>, including zero, will be returned if end of file is reached. If an error occurs, <a class="el" href="class_ex_fat_file.html#a77f4fea0aae0c8bae926fdfbba260a55">read()</a> returns -1. </dd></dl>

</div>
</div>
<a id="a8e88c8e79551a72cc98310038514c47a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e88c8e79551a72cc98310038514c47a">&#9670;&nbsp;</a></span>remove() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::remove </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove a file.</p>
<p>The directory entry and all data for the file are deleted.</p>
<dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a file that has a long name. For example if a file has the long name "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ad10417a851dba3d40a78eb2c0eb11fff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad10417a851dba3d40a78eb2c0eb11fff">&#9670;&nbsp;</a></span>remove() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::remove </td>
          <td>(</td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove a file.</p>
<p>The directory entry and all data for the file are deleted.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path for the file to be removed.</td></tr>
  </table>
  </dd>
</dl>
<p>Example use: dirFile.remove(filenameToRemove);</p>
<dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a file that has a long name. For example if a file has the long name "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="aab50b2646035f76834c75230d2b55c64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab50b2646035f76834c75230d2b55c64">&#9670;&nbsp;</a></span>rename() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::rename </td>
          <td>(</td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>newPath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Rename a file or subdirectory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">newPath</td><td>New path name for the file/directory.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="aea570a3b6afbe633d874803b137a46b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea570a3b6afbe633d874803b137a46b8">&#9670;&nbsp;</a></span>rename() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::rename </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ex_fat_file.html">ExFatFile</a> *&#160;</td>
          <td class="paramname"><em>dirFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ExChar_t *&#160;</td>
          <td class="paramname"><em>newPath</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Rename a file or subdirectory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dirFile</td><td>Directory for the new path. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">newPath</td><td>New path name for the file/directory.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a3c1d3ef65284ffb13ed3ceee472adf9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c1d3ef65284ffb13ed3ceee472adf9a">&#9670;&nbsp;</a></span>rewind()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ExFatFile::rewind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set the file's current position to zero. </p>

</div>
</div>
<a id="a0165e0fde12a53e419bd92cd37f9cfed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0165e0fde12a53e419bd92cd37f9cfed">&#9670;&nbsp;</a></span>rmdir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::rmdir </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Remove a directory file.</p>
<p>The directory file will be removed only if it is empty and is not the root directory. <a class="el" href="class_ex_fat_file.html#a0165e0fde12a53e419bd92cd37f9cfed">rmdir()</a> follows DOS and Windows and ignores the read-only attribute for the directory.</p>
<dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a directory that has a long name. For example if a directory has the long name "New folder" you should not delete the 8.3 name "NEWFOL~1".</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="ab42494880cf229adfb0fc8edb0647686"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab42494880cf229adfb0fc8edb0647686">&#9670;&nbsp;</a></span>seekCur()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::seekCur </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>offset</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set the files position to current position + <em>pos</em>. See <a class="el" href="class_ex_fat_file.html#a9834c4da2f14c66f4bda26938ebb36f6">seekSet()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The new position in bytes from the current position. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a2994a71751ed4f137f48b2e9a7d94091"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2994a71751ed4f137f48b2e9a7d94091">&#9670;&nbsp;</a></span>seekEnd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::seekEnd </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>offset</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set the files position to end-of-file + <em>offset</em>. See <a class="el" href="class_ex_fat_file.html#a9834c4da2f14c66f4bda26938ebb36f6">seekSet()</a>. Can't be used for directory files since file size is not defined. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The new position in bytes from end-of-file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a9834c4da2f14c66f4bda26938ebb36f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9834c4da2f14c66f4bda26938ebb36f6">&#9670;&nbsp;</a></span>seekSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::seekSet </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets a file's position.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>The new position in bytes from the beginning of the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a2cb3638069afd2d01b79e5dff1a66f55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cb3638069afd2d01b79e5dff1a66f55">&#9670;&nbsp;</a></span>sync()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::sync </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The <a class="el" href="class_ex_fat_file.html#a2cb3638069afd2d01b79e5dff1a66f55">sync()</a> call causes all modified data and directory fields to be written to the storage device.</p>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a6d3ab10983e206401ebd5c24a1c46174"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d3ab10983e206401ebd5c24a1c46174">&#9670;&nbsp;</a></span>timestamp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::timestamp </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>year</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>month</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>day</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>hour</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>minute</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>second</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Truncate a file at the current file position.</p>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. Set a file's timestamps in its directory entry.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Values for <em>flags</em> are constructed by a bitwise-inclusive OR of flags from the following list</td></tr>
  </table>
  </dd>
</dl>
<p>T_ACCESS - Set the file's last access date.</p>
<p>T_CREATE - Set the file's creation date and time.</p>
<p>T_WRITE - Set the file's last write/modification date and time.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">year</td><td>Valid range 1980 - 2107 inclusive.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">month</td><td>Valid range 1 - 12 inclusive.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">day</td><td>Valid range 1 - 31 inclusive.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hour</td><td>Valid range 0 - 23 inclusive.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">minute</td><td>Valid range 0 - 59 inclusive.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">second</td><td>Valid range 0 - 59 inclusive</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>It is possible to set an invalid date since there is no check for the number of days in a month.</dd>
<dd>
Modify and access timestamps may be overwritten if a date time callback function has been set by dateTimeCallback().</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="aca37955d3c7cce40f7f9e1ea078e5636"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca37955d3c7cce40f7f9e1ea078e5636">&#9670;&nbsp;</a></span>truncate() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::truncate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Truncate a file at the current file position. will be maintained if it is less than or equal to <em>length</em> otherwise it will be set to end of file.</p>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="a6262b0d6d43d2a426953a0a7d90f624f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6262b0d6d43d2a426953a0a7d90f624f">&#9670;&nbsp;</a></span>truncate() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExFatFile::truncate </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Truncate a file to a specified length. The current file position will be set to end of file.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The desired length for the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>

</div>
</div>
<a id="afc8af11ba8e3a830dff1dd5e59446243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc8af11ba8e3a830dff1dd5e59446243">&#9670;&nbsp;</a></span>validLength()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ExFatFile::validLength </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The valid number of bytes in a file. </dd></dl>

</div>
</div>
<a id="a6fb2905a5e363554a5118b5d1322cd87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fb2905a5e363554a5118b5d1322cd87">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::write </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Write a string to a file. Used by the Arduino Print class. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Pointer to the string. Use getWriteError to check for errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>count of characters written for success or -1 for failure. </dd></dl>

</div>
</div>
<a id="abc1423c7b550614d1067e7173f8b46a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc1423c7b550614d1067e7173f8b46a8">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::write </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Write data to an open file.</p>
<dl class="section note"><dt>Note</dt><dd>Data is moved to the cache but may not be written to the storage device until <a class="el" href="class_ex_fat_file.html#a2cb3638069afd2d01b79e5dff1a66f55">sync()</a> is called.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Pointer to the location of the data to be written.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of bytes to write.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_ex_fat_file.html#a6fb2905a5e363554a5118b5d1322cd87">write()</a> returns the number of bytes written, always <em>count</em>. </dd></dl>

</div>
</div>
<a id="afd011d17d66707623c28927a63f81015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd011d17d66707623c28927a63f81015">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ExFatFile::write </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Write a single byte. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The byte to be written. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>+1 for success or zero for failure. </dd></dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a064869383f7639b113eb0aaf0b84335c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a064869383f7639b113eb0aaf0b84335c">&#9670;&nbsp;</a></span>ExFatVolume</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="class_ex_fat_volume.html">ExFatVolume</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="class_ex_fat_volume.html" title="exFAT volume.">ExFatVolume</a> allowed access to private members. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArduinoSdFat/libraries/SdFat/src/ExFatLib/<a class="el" href="_ex_fat_file_8h.html">ExFatFile.h</a></li>
<li>ArduinoSdFat/libraries/SdFat/src/ExFatLib/ExFatFile.cpp</li>
<li>ArduinoSdFat/libraries/SdFat/src/ExFatLib/ExFatFilePrint.cpp</li>
<li>ArduinoSdFat/libraries/SdFat/src/ExFatLib/ExFatFileWrite.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Dec 6 2019 09:45:12 for SdFat by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>
